1. Field of the Invention
The present invention relates to a storage system which inputs/outputs data using such a storage device as a magnetic disk, and dynamic load management method thereof, and more particularly to a storage system for preventing the stagnation of command processing by managing the processing amount of input/output commands and dynamic load management method thereof.
2. Description of the Related Art
In a storage device using such a storage medium as a magnetic disk, magneto-optical disk and optical disk, the storage medium is actually accessed by the request of a data processing apparatus. When the data processing apparatus uses large capacity data, a storage system comprising a plurality of storage device and a control device is used.
Such a storage system has a DTC (Dynamic Traffic Control) function which dynamically optimizes resource allocation in the system for a large volume of access, so as to implement stable performance for the access from the host device. FIG. 19 is a block diagram of a prior art, and FIG. 20 is a diagram describing the prior art.
As FIG. 19 shows, the storage controller 100 controls access to a plurality of storage devices (magnetic disk devices) 110 according to the host I/O commands. This storage controller 100 has a command processing function 102, DTC function 104, disk driver 106 and device adaptor 108. The command processing function 102 receives the host I/O command and the internal I/O command.
The internal I/O command is a command for I/O control which is executed in the background of the host I/O, and examples are OPC (One Point Copy), which-sequentially copies in the background of the host I/O according to the copy instruction of the continuous block group of the host, rebuilding RAID, and copy back for data backup.
The DTC function 104 controls the number of commands to be issued to the storage device 110 via the driver 106 and the device adaptor 108. As FIG. 20 shows, according to the prior art, the DTC function 104 measures the response time of each command (time from when the command is issued to the storage device 110 to when the response is received from the storage device 110), calculates the average of the response time, and increases the number of issued commands in unit time if this average response time is quicker than a predetermined time, or decreases the number of issued commands in unit time if the average response time is slower than a predetermined time. The commands exceeding the determined number of issued commands are held in a queue.
The command processing function 102 processes the host I/O (random, sequential) with priority, without restrictions in acceptance, and transfers it to the DTC 104. The internal I/O is processed in the background of the host I/O, and is transferred to the DTC 104. The DTC 104 issues the number of commands, which does not exceed a predetermined number of issued commands, to the storage device 110 via the driver 106 and the device adaptor 108.
In this way, the DTC 104 dynamically changes the number of startup (number of commands) according to the response time of the storage device 110, so as to optimize the execution of the I/O commands.
Since all host I/Os are accepted in the prior art, if host I/Os beyond system performance are accepted, the host I/Os cannot be executed within the internal time out time (e.g. 25 seconds), and a time out is replied to the host. Therefore the execution wait time of I/O request for host becomes long, and the host must issue the host I/O again according to the time out.
Also an internal I/O, such as OPC, may wait in the DTC 104 while having an exclusion right (called Extent exclusion) of the internal buffer area in the command processing section 102, and if this happens, the next host I/O command cannot acquire Extent exclusion and sleeps, and in the worse case an internal time out occurs.
Also the conventional DTC determines a new number of startup only by the response time from the storage device (disk device) in the past, so if a response from the disk device temporarily delays, an issue of a new command to the disk device is restricted more than necessary, which makes it difficult to fully use the performance of the storage device.